package com.sunlands.qdcy.deskmate.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author zhaocg
 * @create 2019/4/15 20:34
 */
@Data
@ApiModel(value="群基础信息")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class GroupInfoVO {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "组ID唯一标识")
    private String groupId;

    @ApiModelProperty(value = "组名称")
    private String groupName;

    @ApiModelProperty(value = "组头像")
    private String avatarFile;

    @ApiModelProperty(value = "组描述")
    private String groupDesc;

    @ApiModelProperty(value = "组公告")
    private String groupNotice;

    @ApiModelProperty(value = "组类型1:学习小组 2:打卡 3:契约 ")
    private Integer type;

    @ApiModelProperty(value = "是否使用")
    private Integer isUsed;

    @ApiModelProperty(value = "备用字段1")
    private Integer memberCount;

    @ApiModelProperty(value = "备用字段2")
    private Integer leftMemberCount;

    @ApiModelProperty(value = "创建者ID")
    private String builderId;

    @ApiModelProperty(value = "是否需要进群验证0:不需要 1:需要")
    private Byte openVerify;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    //------------------新增------------------

    @ApiModelProperty(value = "接收用户ID")
    private List<String> userIdList;

    @ApiModelProperty(value = "存储组用户信息")
    private List<GroupUserVO> groupUserVOList ;

    @ApiModelProperty(value = "组类型名称")
    private String groupTypeName;

    @ApiModelProperty(value = "当前登录人")
    private String userId;  //表示当前登录人

    @ApiModelProperty(value = "是否为创建人（前端判断使用）")
    private boolean checkBuilder; //是否为创建人  true:是 ，false:否

    @ApiModelProperty(value = "当前组成员数")
    private Integer groupUserCount;  //组所在的人数

    @ApiModelProperty(value = "群头像(首页显示使用)")
    private String imageAvatar;  //首页显示使用

}
